$(function () {
    // 需求1: 自定义校验规则;
    let form = layui.form;
    form.verify({
        // 属性是规则名称，值是具体规则;
        nickname: [
            /^[\S]{1,10}$/,
            '昵称的长度为1-10的非空字符串'
        ]
    });

    // 需求2: 获取用户信息，并渲染到form表单中;
    let layer = layui.layer;
    initUserInfo(); // 函数不调用不执行;
    //   封装成函数，后面重置要用;
    function initUserInfo() {
        axios({
            url: '/my/userinfo'
        }).then(res => {
            // console.log(res.data);
            // 判断状态
            if (res.data.status != 0) {
                return layer.msg(res.data.message);
            }
            // console.log(res.data);
            form.val('formUserInfo', res.data.data);
        });
    }

    // 需求3: 重置表单;
    // $("form").on("reset", function (e) {
    $("#btnReset").on("click", function (e) {
        // 阻止浏览器的默认行为;
        e.preventDefault();
        // 重新渲染表单;
        initUserInfo();
    });

    // 需求4: 提交修改;
    $("form").on('submit', function (e) {
        // 阻止浏览器的默认行为;
        e.preventDefault();
        // 发送ajax
        axios({
            method: 'POST',
            url: '/my/userinfo',
            // 传递参数使用: a=1&b=2&c=3
            data: $(this).serialize()
        }).then(res => {
            // 判断业务状态码 
            if (res.data.status != 0){
                return layer.msg(res.data.message);
            }
            // 成功提示
            layer.msg('恭喜您，修改用户信息成功！');
            // 刷新父页面的头像和欢迎词
            window.parent.getUserInfo();
        });
    })

});